#include <iostream>
#include <stack>
#include <string>

using namespace std;
bool isBalanced(const string & str) 
{
    stack<char> st;

    for (char ch : str)
    {
        if (ch == '(' || ch == '{' || ch == '[' )
        {
            st.push(ch);
        }
        else
        {
            if (ch == ')' || ch == '}' || ch == ']')
            {
                if (st.empty()) return false;
                {
                    char top = st.top();
                }
                if ((ch == ')' && top != '(') ||
                    (ch == '}' && top != '{') ||
                    (ch == ']' && top != '['))
                {
                    return false;
                }
                st.pop();
            }
        }
    }
    
    

    return st.empty();
}

int main() {
    string input;
    cout << "Введите строку со скобками: ";
    getline(cin, input);

    if (isBalanced(input)) 
    {
        cout << "Скобки расставлены верно\n";
    }
    else 
    {
        cout << "Скобки расставлены неверно\n";
    }

    return 0;
}
